package com.soft.collateral.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;

/**
 * @author yzh
 * @desc TODO
 * @date 2025/7/25
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("押品详情")
@TableName("collateral_detail")
public class CollateralDetail {

    @TableId(value = "detail_id",type = IdType.AUTO)
    @ApiModelProperty("详情ID")
    private Integer detailId;

    @TableField("collateral_id")
    @ApiModelProperty("押品ID")
    private Integer collateralId;

    // 土地类
    @TableField("land_area")
    @ApiModelProperty("土地面积(平方米)")
    private Integer landArea;

    @TableField("land_location")
    @ApiModelProperty("土地所在位置")
    private String landLocation;

    @TableField("land_type")
    @ApiModelProperty("工业/住宅/商业用地")
    private String landType;

    @TableField("land_description")
    @ApiModelProperty("土地相关描述")
    private String landDescription;

    @TableField("land_lease_term")
    @ApiModelProperty("土地使用期限")
    private String landLeaseTerm;

    // 房产类
    @TableField("house_area")
    @ApiModelProperty("房屋建筑面积(平方米)")
    private Integer houseArea;

    @TableField("house_address")
    @ApiModelProperty("房屋详细地址")
    private String houseAddress;

    @TableField("house_type")
    @ApiModelProperty("住宅/商铺/写字楼")
    private String houseType;

    @TableField("house_structure")
    @ApiModelProperty("房屋建筑结构")
    private String houseStructure;

    @TableField("house_build_year")
    @ApiModelProperty("房屋建成年份")
    private LocalDate houseBuildYear;

    // 车辆类
    @TableField("vehicle_brand")
    @ApiModelProperty("车辆品牌")
    private String vehicleBrand;

    @TableField("vehicle_model")
    @ApiModelProperty("车辆具体型号")
    private String vehicleModel;

    @TableField("vehicle_plate")
    @ApiModelProperty("车牌号码")
    private String vehiclePlate;

    @TableField("vehicle_mileage")
    @ApiModelProperty("行驶里程(千米)")
    private Integer vehicleMileage;

    @TableField("vehicle_reg_date")
    @ApiModelProperty("车辆注册日期")
    private LocalDate vehicleRegDate;

    // 金融类
    @TableField("asset_type")
    @ApiModelProperty("存单/股票/债券")
    private String assetType;

    @TableField("issuing_entity")
    @ApiModelProperty("发行机构/银行")
    private String issuingEntity;

    @TableField("face_value")
    @ApiModelProperty("票面金额")
    private Double faceValue;

    @TableField("maturity_date")
    @ApiModelProperty("到期日期")
    private LocalDate maturityDate;

    // 设备类
    @TableField("equipment_type")
    @ApiModelProperty("设备类型")
    private String equipmentType;

    @TableField("manufacturer")
    @ApiModelProperty("生产厂商")
    private String manufacturer;

    @TableField("model_number")
    @ApiModelProperty("型号规格")
    private String modelNumber;

    @TableField("purchase_date")
    @ApiModelProperty("购置日期")
    private LocalDate purchaseDate;
}